<?php
/**
 * 节点管理模型
 * 
 * @author Lee<a605333742@gmail.com>
 * @time    2018-07-03
 */
namespace app\admin\model;

use think\Model;
use think\Db;

class Node extends Model{
    protected $nodeModel;
    public function __construct($data = array()) {
        parent::__construct($data);
        $this->nodeModel=Db::name("Node");
    }
    
    /*
     * 节点列表
     *
     * @param array $condition 查询条件 
     * @param int $sign 标志，是否用分页方法
     * @param int $page 每页显示额条数
     * @param array $sort 排序
     * @param str $field 查询字段     
     * 
     * @return #
     */
    public function getNodeList($condition='',$sign='',$page='10',$sort='ord ASC',$field='*'){
        if(!empty($sign)){
            return $this->nodeModel->where($condition)->field($field)->order($sort)->select();
        }
        return $this->nodeModel->where($condition)->field($field)->order($sort)->paginate($page);        
    }
    
    /*
     * 编辑节点（包括新增和修改）
     * 
     * @param array() $condition 添加的字段
     * 
     * @return bool/int
     */
    public function  nodeEdit($condition){
        if(isset($condition['id'])&&!empty($condition['id'])){
            //修改节点
            return $this->nodeModel->where(array("id"=>$condition['id']))->update($condition);
        }
        $this->nodeModel->insert($condition);
        return $this->nodeModel->getLastInsID();
    }
    
    /*
     * 根据指定条件查询具体的节点信息
     * 
     * @param array $condition 查询条件
     * @param str $field 查询的字段
     * 
     * @return array $field
     */
    public function getOneNode($condition,$field="*"){
        return $this->nodeModel->where($condition)->field($field)->find();
    }
}
